namespace ColladaDotNet
{
	/// <remarks/>
    
	[System.SerializableAttribute()]
    
    
	[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.collada.org/2005/11/COLLADASchema")]
	[System.Xml.Serialization.XmlRootAttribute(Namespace="http://www.collada.org/2005/11/COLLADASchema", IsNullable=false)]
	public partial class image {
        
		private asset assetField;
        
		private object itemField;
        
		private extra[] extraField;
        
		private string idField;
        
		private string nameField;
        
		private string formatField;
        
		private ulong heightField;
        
		private bool heightFieldSpecified;
        
		private ulong widthField;
        
		private bool widthFieldSpecified;
        
		private ulong depthField;
        
		public image() {
			this.depthField = ((ulong)(1m));
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute("asset")]
		public asset asset {
			get {
				return this.assetField;
			}
			set {
				this.assetField = value;
			}
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute("data", typeof(byte[]), DataType="hexBinary")]
		[System.Xml.Serialization.XmlElementAttribute("init_from", typeof(string), DataType="anyURI")]
		public object Item {
			get {
				return this.itemField;
			}
			set {
				this.itemField = value;
			}
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute("extra")]
		public extra[] extra {
			get {
				return this.extraField;
			}
			set {
				this.extraField = value;
			}
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute(DataType="ID")]
		public string id {
			get {
				return this.idField;
			}
			set {
				this.idField = value;
			}
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute(DataType="NCName")]
		public string name {
			get {
				return this.nameField;
			}
			set {
				this.nameField = value;
			}
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute(DataType="token")]
		public string format {
			get {
				return this.formatField;
			}
			set {
				this.formatField = value;
			}
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public ulong height {
			get {
				return this.heightField;
			}
			set {
				this.heightField = value;
			}
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlIgnoreAttribute()]
		public bool heightSpecified {
			get {
				return this.heightFieldSpecified;
			}
			set {
				this.heightFieldSpecified = value;
			}
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public ulong width {
			get {
				return this.widthField;
			}
			set {
				this.widthField = value;
			}
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlIgnoreAttribute()]
		public bool widthSpecified {
			get {
				return this.widthFieldSpecified;
			}
			set {
				this.widthFieldSpecified = value;
			}
		}
        
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		[System.ComponentModel.DefaultValueAttribute(typeof(ulong), "1")]
		public ulong depth {
			get {
				return this.depthField;
			}
			set {
				this.depthField = value;
			}
		}
	}
}